#include <stdio.h>
#include <stdlib.h>
#include <time.h>


#define MAX 10
#define BLOCK_USED -40
#define TO_ELIMINATE -60

typedef struct
{
    int *colonna; //la colonna in cui sta; bisogna allocare dinamicamente spazio per l'array ogni volta che trova una colonna in cui fare undo
    int *riga; //la riga di partenza
    char colore; //il colore della serie di pezzi tolta
    int size; //variabile contenente la grandezza degli array colonna e riga

} Undo;

void tabellone_creation (char tabellone[][MAX]);

int check (char tabellone[][MAX], int riga, int colonna, char colore);

void save_undo_array (char tabellone[][MAX], Undo *storage, int riga, int colonna, int click);

void sort (Undo *storage, int click);

void drop_down (char tabellone[][MAX], Undo *storage);

void swap (Undo *storage, int k, int click, int j);

void undo (char tabellone[][MAX], Undo *storage, int click);
